This invention relates to apparatus for the manufacture of control systems, and in particular control systems for self-service automatic apparatus such as automated teller machines (ATMs).
As is well known, such ATMs comprise a card reader for reading a card; a banknote store for dispensing banknotes; input and output devices such as a keypad and screen; and a control device such as a microprocessor controlling operation of the foregoing components.
These elements of an ATM are widely used. The basic control operations performed by the microprocessor for receiving a card, reading the card, rejecting the card, accepting a key input, displaying a screen, and so forth are similar in many different systems using ATMs. However, the data shown on the screen differs depending upon the identity of the system in which the ATM machines are employed. Furthermore, in different systems, the basic operations of controlling the devices which make up the ATM machine may be required to be performed in different sequences.
Thus, hitherto, when a new ATM system is to be installed, the prospective owner of the system specifies the functions which the system must perform, and a control program for the microprocessor control unit on each ATM machine is written by a computer programming expert, making use (where possible) of existing subroutines for particular low level device control operations.
An object of the present invention is to provide a system for developing new control program systems (e.g. for an ATM) in which the role of the computer expert is reduced and the role of the prospective user, or the expert in the business area of the prospective user, is increased.
A control program development application called `Icon Author` is known. This application provides a graphical user interface (GUI) which allows a control program to be specified as a flow diagram, consisting of a number of icons (i.e. subimages) each representing a processing subprogram or subroutine or a control structure, linked by lines indicating the control flow from subroutine to subroutine.
A major drawback with that system, however, is that it is designed to specify only sequential operations (as is usual with flow diagrams). For ATMs or similar applications, several subroutines may in fact be required to be executing concurrently; for example, a screen displaying alternating messages may be operating concurrently with a routine controlling a card reader to scan for the insertion of card.
This problem can be overcome in the Icon Author system or similar systems by writing subroutines which actually concurrently perform two tasks. However, this solution leads to subroutines which are complex, and tend to be specific to one particular system, since in different systems different processes may be required to execute concurrently.
It can alternatively be overcome by breaking down subroutines into much smaller parts. However, this makes the structure of the application harder to understand to the non-expert, and also makes reuse more difficult.